package com.aliyun.oss.utils;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtil {
    //    密匙
    private static final String SECRET_KEY = "eW91ci0yNTYtYml0LXNlY3JldC1oZXJlLWJhc2U2NC1lbmNvZGVk";
    //    过期时间
    private static final long EXPIRATION_TIME = 1000 * 60 * 60 * 12;
//    生成令牌
    public static String createToken(Map<String,Object> claims){
//        计算过期时间
        Date expirationDate=new Date(System.currentTimeMillis()+EXPIRATION_TIME);
        return Jwts.builder().setClaims(claims).setExpiration(expirationDate).signWith(SignatureAlgorithm.HS256, SECRET_KEY).compact();
    }

//    解析令牌
    public static Claims analysisToken(String token){
        return Jwts.parserBuilder().setSigningKey(SECRET_KEY).build().parseClaimsJws(token).getBody();
    }
}
